function adhesion_gui
    % 创建GUI窗口
    fig = figure('Position', [500, 300, 400, 300], 'Name', '黏着系数计算器', 'NumberTitle', 'off');

    % 创建公式选择下拉菜单
    uicontrol('Style', 'text', 'Position', [50, 250, 100, 20], 'String', '选择公式:');
    formula_menu = uicontrol('Style', 'popupmenu', 'Position', [150, 250, 200, 20], ...
        'String', {'电力机车_国内', '电力机车_6K型', '电力机车_8G型', ...
                   '电力机车_曲线_R600', '内燃机车_国内', '内燃机车_ND2型', ...
                   '内燃机车_曲线_R550'});
    
    % 速度输入框
    uicontrol('Style', 'text', 'Position', [50, 200, 100, 20], 'String', '输入速度(km/h):');
    speed_input = uicontrol('Style', 'edit', 'Position', [150, 200, 200, 20], 'String', '0');
    
    % 曲线半径输入框
    uicontrol('Style', 'text', 'Position', [50, 150, 100, 20], 'String', '曲线半径(m):');
    radius_input = uicontrol('Style', 'edit', 'Position', [150, 150, 200, 20], 'String', '0');
    
    % 计算按钮
    uicontrol('Style', 'pushbutton', 'Position', [150, 100, 100, 30], 'String', '计算', ...
        'Callback', @calculate_mu);
    
    % 输出显示框
    result_display = uicontrol('Style', 'text', 'Position', [150, 50, 200, 20], 'String', '黏着系数:');
    
    function calculate_mu(~, ~)
        % 获取用户输入
        formula_idx = get(formula_menu, 'Value');
        v = str2double(get(speed_input, 'String'));
        R = str2double(get(radius_input, 'String'));
        
        % 根据选择的公式类型计算黏着系数
        formula_types = {'电力机车_国内', '电力机车_6K型', '电力机车_8G型', ...
                         '电力机车_曲线_R600', '内燃机车_国内', '内燃机车_ND2型', ...
                         '内燃机车_曲线_R550'};
        formula_type = formula_types{formula_idx};
        
        % 调用计算函数
        mu = adhesion_coefficient(formula_type, v, R);
        
        % 显示结果
        set(result_display, 'String', ['黏着系数: ', num2str(mu)]);
    end
end